package com.haohan.jingyuan.customer.dto.req;

import com.haohan.jingyuan.common.dto.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 更新收入请求DTO
 * 
 * @ClassName UpdateIncomeRequest
 * @Description 更新收入请求参数
 * @Author hexijun
 * @Time 2025/01/19 16:00
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class UpdateIncomeRequest extends BaseRequest {
    
    /**
     * 记录ID
     */
    @NotBlank(message = "记录ID不能为空")
    private String id;

    /**
     * 收入类型
     */
    private String incomeType;

    /**
     * 总价金额
     */
    @DecimalMin(value = "0.0", inclusive = false, message = "总价金额必须大于0")
    private BigDecimal totalAmount;

    /**
     * 已收金额
     */
    @DecimalMin(value = "0.0", inclusive = true, message = "已收金额不能小于0")
    private BigDecimal receivedAmount;

    /**
     * 待收金额
     */
    @DecimalMin(value = "0.0", inclusive = true, message = "待收金额不能小于0")
    private BigDecimal pendingAmount;

    /**
     * 收入日期
     */
    private Date incomeDate;

    /**
     * 备注
     */
    private String remarks;
}
